Linux下如何查找一个函数在哪个库中 您所在的位置:网站首页 linux 快速搜索函数 Linux下如何查找一个函数在哪个库中

Linux下如何查找一个函数在哪个库中

2024-07-07 17:57| 来源: 网络整理| 查看: 265

原文地址::http://www.educity.cn/net/511949.html

相关文章

1、Linux 中如何快速查看 C 库函数的头文件以及相应的函数信息?----https://www.zhihu.com/question/25028178

2、如何查看linux函数对应的库文件----http://bbs.csdn.net/topics/330158874

关于怎样查出一个库函数到底在哪个库文件中,我想到一个变通的办法,以查找fcntl函数在哪个库文件中为例吧:

  1、找到一个使用fcntl的可执行文件,如test_fcntl。实在不行,自己编一个只有fcntl函数的c文件,然后编译一下得了。

  2、使用“ldd test_fcntl”命令,可以追踪出该可执行文件到底使用了哪些库文件。通常可能有几个到几十个。

  3、根据要查找的函数的作用和上一步所得到的各库文件的名字大致推测一下,该函数可能会在哪个或哪些库中。

  4、最后使用"nm test_fcntl"命令,依次查找一下第三步所得到的库文件,通常就可以最后确定fcntl函数到底在哪个库中。

  比如,我用上面的方法查出fcntl函数在“/lib/tls/libc.so.6”库中。

//##########################################################################################################################

有一些常识或者说平时的积累是必要的,终究常用的库很少。 当我遇到一个函数不知道所属的库的时候,我会先找到头文件所属的包,然后看看那个包(或者相关包)的.a或者.so文件有哪些,然后: objdump -x 库文件 | grep 函数名 确认函数名是定义而不是引用以后,就知道需要链接这个库了。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有